﻿using System.Collections.Generic;

namespace Core
{
    public static class TerminalWords
    {
// ReSharper disable InconsistentNaming
        public const string And = "AND";
        public const string Array = "ARRAY";
        public const string Begin = "BEGIN";
        public const string Case = "CASE";
        public const string Const = "CONST";
        public const string Div = "DIV";
        public const string Do = "DO";
        public const string Downto = "DOWNTO";
        public const string Else = "ELSE";
        public const string End = "END";
        public const string File = "FILE";
        public const string For = "FOR";
        public const string Function = "FUNCTION";
        public const string Goto = "GOTO";
        public const string If = "IF";
        public const string In = "IN";
        public const string Integer = "INTEGER";
        public const string Label = "LABEL";
        public const string Mod = "MOD";
        public const string Nil = "NIL";
        public const string Not = "NOT";
        public const string Of = "OF";
        public const string Or = "OR";
        public const string Packed = "PACKED";
        public const string Procedure = "PROCEDURE";
        public const string Program = "PROGRAM";
        public const string Real = "REAL";
        public const string Record = "RECORD";
        public const string Repeat = "REPEAT";
        public const string Set = "SET";
        public const string Then = "THEN";
        public const string To = "TO";
        public const string Type = "TYPE";
        public const string Until = "UNTIL";
        public const string Var = "VAR";
        public const string While = "WHILE";
        public const string With = "WITH";
// ReSharper restore InconsistentNaming


        public static readonly List<string> Keywords = new List<string>
                                                          {
                                                              And,
                                                              Array,
                                                              Begin,
                                                              Case,
                                                              Const,
                                                              Div,
                                                              Do,
                                                              Downto,
                                                              Else,
                                                              End,
                                                              File,
                                                              For,
                                                              Function,
                                                              Goto,
                                                              If,
                                                              In,
                                                              Integer,
                                                              Label,
                                                              Mod,
                                                              Nil,
                                                              Not,
                                                              Of,
                                                              Or,
                                                              Packed,
                                                              Procedure,
                                                              Program,
                                                              Real,
                                                              Record,
                                                              Repeat,
                                                              Set,
                                                              Then,
                                                              To,
                                                              Type,
                                                              Until,
                                                              Var,
                                                              While,
                                                              With
                                                          };
    }
}
